using System.ComponentModel.DataAnnotations;

namespace MVCWeekOne.Models
{
    public class WorkTaskQueryModel
    {
        /// <summary>
        /// 页码
        /// </summary>
        public int pageIndex { get; set; } = 1;

        /// <summary>
        /// 每页大小
        /// </summary>
        public int pageSize { get; set; } = 30;

        /// <summary>
        /// 工单编号
        /// </summary>
        public string? workOrderNumber { get; set; }

        /// <summary>
        /// 工序名称
        /// </summary>
        public string? processName { get; set; }

        /// <summary>
        /// 工序编号
        /// </summary>
        public string? processNumber { get; set; }

        /// <summary>
        /// 不良品项列表
        /// </summary>
        public string? defectiveItemList { get; set; }

        /// <summary>
        /// 计划开始时间开始
        /// </summary>
        public DateTime? plannedStartTimeStart { get; set; }

        /// <summary>
        /// 计划开始时间结束
        /// </summary>
        public DateTime? plannedStartTimeEnd { get; set; }

        /// <summary>
        /// 计划结束时间开始
        /// </summary>
        public DateTime? plannedEndTimeStart { get; set; }

        /// <summary>
        /// 计划结束时间结束
        /// </summary>
        public DateTime? plannedEndTimeEnd { get; set; }

        /// <summary>
        /// 计划数量最小值
        /// </summary>
        public int? plannedQuantityMin { get; set; }

        /// <summary>
        /// 计划数量最大值
        /// </summary>
        public int? plannedQuantityMax { get; set; }

        /// <summary>
        /// 良品数量最小值
        /// </summary>
        public int? goodQuantityMin { get; set; }

        /// <summary>
        /// 良品数量最大值
        /// </summary>
        public int? goodQuantityMax { get; set; }

        /// <summary>
        /// 不良品数量最小值
        /// </summary>
        public int? defectiveQuantityMin { get; set; }

        /// <summary>
        /// 不良品数量最大值
        /// </summary>
        public int? defectiveQuantityMax { get; set; }

        /// <summary>
        /// 实际开始时间开始
        /// </summary>
        public DateTime? actualStartTimeStart { get; set; }

        /// <summary>
        /// 实际开始时间结束
        /// </summary>
        public DateTime? actualStartTimeEnd { get; set; }

        /// <summary>
        /// 实际结束时间开始
        /// </summary>
        public DateTime? actualEndTimeStart { get; set; }

        /// <summary>
        /// 实际结束时间结束
        /// </summary>
        public DateTime? actualEndTimeEnd { get; set; }

        /// <summary>
        /// 创建时间开始
        /// </summary>
        public DateTime? creationTimeStart { get; set; }

        /// <summary>
        /// 创建时间结束
        /// </summary>
        public DateTime? creationTimeEnd { get; set; }

        /// <summary>
        /// 排序字段
        /// </summary>
        public string? sortField { get; set; }

        /// <summary>
        /// 排序方向
        /// </summary>
        public string? sortDirection { get; set; }
    }
} 